<?php
class My_Plugin_Init extends Framework_Controller_Plugin_Abstract
{
    private $_session = null;
    
    public function __construct()
    {
        $this->_session = Framework_Registry::get('session');    
    }
    
    public function routeStartup ($request)
    {
        ///////////////////////////////////////////
        // Только если не админка
        if (strpos($_SERVER['REQUEST_URI'], 'admin') === false) {
            if ($this->_session->offsetExists('template_dir')) { // WML or xHTML
                $config->smarty->template_dir = $this->_session->get('template_dir');
            } else if ($this->_session->offsetExists('css')) { // use css?
                $config->www->css = $this->_session->get('css');
            } else if (! $this->_session->offsetExists('change')) { // Еще не смотрели, или не нужно смотреть
                $content = @file_get_contents("http://www.noibox.com/utiles/terminales.asp?usuario=terminal&password=ternbox1415&ua=" . urlencode($_SERVER['HTTP_USER_AGENT']));
                @preg_match('[<results>(.+?)</results>]si', $content, $matches);
                $this->_session->set('change', 1);
                // Для известного юзерагента
                if (! empty($matches[1])) {
                    // Размер экрана
                    @preg_match('[<axb>(.+?)</axb>]si', $content, $matches);
                    list ($width, $height) = explode('x', $matches[1]);
                    $this->_session->set('width', $width);
                    // Поддержка css
                    @preg_match('[<CSS>(.+?)</CSS>]si', $content, $matches);
                    $this->_session->set('css', $matches[1]);
                    $config->www->css = $matches[1];
                    $css = $matches[1];
                    // Используемая разметка
                    @preg_match('[<xhtml>(.+?)</xhtml>]si', $content, $matches);
                    $xhtml = $matches[1];
                    // Проверяем что может и не может
                    if (! $xhtml) {
                        header('Content-Type: text/vnd.wap.wml; charset=utf-8');
                        Framework_Registry::set('smiles', false);
                        $config->smarty->template_dir = 'wml';
                        $this->_session->set('template_dir', 'wml');
                        ini_set('url_rewriter.tags', 'go=href');
                    }
                }
            }
        }
        ///////////////////////////////////////////
    }
}